#pragma once
#include "orangepch.h"
#include "Buffer.h"
#include "Core.h"
namespace Orange
{

    //   class IndexBuffer
    // {
    // public:
    //     virtual void Bind() = 0;
    //     virtual void UnBind() = 0;

    //     static IndexBuffer *Create(uint32_t *indexes, uint32_t count);
    // };
    class VertexArray
    {
    public:
        virtual void Bind() = 0;
        virtual void UnBind() = 0;

        virtual void AddVertexBuffer(const Ref<VertexBuffer> &vertexBuffer) = 0;
        virtual void SetIndexBuffer(const Ref<IndexBuffer> &indexBuffer) = 0;
        virtual std::vector<Ref<VertexBuffer>> &GetVertexBuffer() = 0;
        virtual Ref<IndexBuffer> &GetIndexBuffer() = 0;
        static Ref<VertexArray> Create();
    };
}